app: share function to normalise detailed action name
authorSébastien Wilmet <swilmet@gnome.org>
Wed, 20 Apr 2016 15:13:26 +0000 (17:13 +0200)
committerSébastien Wilmet <swilmet@gnome.org>
Fri, 22 Apr 2016 10:40:08 +0000 (12:40 +0200)
Put the function in gtkactionmuxer.c, where
gtk_print_action_and_target() is implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=764879

gtk/gtkactionmuxer.c
gtk/gtkactionmuxer.h
gtk/gtkapplication.c
gtk/gtkapplicationaccels.c

index d8edef0e78bb39062b0d5b01610ab5ceac8011d5..df515244ffd15aa0074ef294d285d40e02edf0d4 100644 (file)
@@ -930,3 +930,23 @@ gtk_print_action_and_target (const gchar *action_namespace,
   return g_string_free (result, FALSE);
 }
 
+gchar *
+gtk_normalise_detailed_action_name (const gchar *detailed_action_name)
+{
+  GError *error = NULL;
+  gchar *action_and_target;
+  gchar *action_name;
+  GVariant *target;
+
+  g_action_parse_detailed_name (detailed_action_name, &action_name, &target, &error);
+  g_assert_no_error (error);
+
+  action_and_target = gtk_print_action_and_target (NULL, action_name, target);
+
+  if (target)
+    g_variant_unref (target);
+
+  g_free (action_name);
+
+  return action_and_target;
+}
index 39e9bf2ccedb519fbb9e941a91fc312bd00c45c1..b696fff29e51862096e09b03e294f2202b4e5092 100644 (file)
@@ -56,11 +56,13 @@ void                    gtk_action_muxer_set_primary_accel              (GtkActi
 const gchar *           gtk_action_muxer_get_primary_accel              (GtkActionMuxer *muxer,
                                                                          const gchar    *action_and_target);
 
-/* No better place for this... */
+/* No better place for these... */
 gchar *                 gtk_print_action_and_target                     (const gchar    *action_namespace,
                                                                          const gchar    *action_name,
                                                                          GVariant       *target);
 
+gchar *                 gtk_normalise_detailed_action_name              (const gchar *detailed_action_name);
+
 G_END_DECLS
 
 #endif /* __GTK_ACTION_MUXER_H__ */
index 667e73157a1b03485db7707fe259b7efa61c672e..b514e99dec169e46f6527addd1d3c5ef79e0b5fd 100644 (file)
@@ -1308,27 +1308,6 @@ gtk_application_list_action_descriptions (GtkApplication *application)
   return gtk_application_accels_list_action_descriptions (application->priv->accels);
 }
 
-static gchar *
-normalise_detailed_name (const gchar *detailed_action_name)
-{
-  GError *error = NULL;
-  gchar *action_and_target;
-  gchar *action_name;
-  GVariant *target;
-
-  g_action_parse_detailed_name (detailed_action_name, &action_name, &target, &error);
-  g_assert_no_error (error);
-
-  action_and_target = gtk_print_action_and_target (NULL, action_name, target);
-
-  if (target)
-    g_variant_unref (target);
-
-  g_free (action_name);
-
-  return action_and_target;
-}
-
 /**
  * gtk_application_set_accels_for_action:
  * @application: a #GtkApplication
@@ -1364,7 +1343,7 @@ gtk_application_set_accels_for_action (GtkApplication      *application,
                                                 detailed_action_name,
                                                 accels);
 
-  action_and_target = normalise_detailed_name (detailed_action_name);
+  action_and_target = gtk_normalise_detailed_action_name (detailed_action_name);
   gtk_action_muxer_set_primary_accel (application->priv->muxer, action_and_target, accels[0]);
   g_free (action_and_target);
 
index afbac9a10588ae8ca7abde4292725aeb0c2a88b1..78099402d709e85300b459362c552b0ea4967dcc 100644 (file)
@@ -40,27 +40,6 @@ struct _GtkApplicationAccels
 
 G_DEFINE_TYPE (GtkApplicationAccels, gtk_application_accels, G_TYPE_OBJECT)
 
-static gchar *
-normalise_detailed_name (const gchar *detailed_action_name)
-{
-  GError *error = NULL;
-  gchar *action_and_target;
-  gchar *action_name;
-  GVariant *target;
-
-  g_action_parse_detailed_name (detailed_action_name, &action_name, &target, &error);
-  g_assert_no_error (error);
-
-  action_and_target = gtk_print_action_and_target (NULL, action_name, target);
-
-  if (target)
-    g_variant_unref (target);
-
-  g_free (action_name);
-
-  return action_and_target;
-}
-
 static AccelKey *
 accel_key_copy (const AccelKey *source)
 {
@@ -205,7 +184,7 @@ gtk_application_accels_set_accels_for_action (GtkApplicationAccels *accels,
   AccelKey *keys, *old_keys;
   gint i, n;
 
-  action_and_target = normalise_detailed_name (detailed_action_name);
+  action_and_target = gtk_normalise_detailed_action_name (detailed_action_name);
 
   n = accelerators ? g_strv_length ((gchar **) accelerators) : 0;
 
@@ -261,7 +240,7 @@ gtk_application_accels_get_accels_for_action (GtkApplicationAccels *accels,
   gchar **result;
   gint n, i = 0;
 
-  action_and_target = normalise_detailed_name (detailed_action_name);
+  action_and_target = gtk_normalise_detailed_action_name (detailed_action_name);
 
   keys = g_hash_table_lookup (accels->action_to_accels, action_and_target);
   if (!keys)